﻿/*
互质的个数 
Time Limit:1000MS  Memory Limit:32768K


Description:
贝贝、妞妞和康康都长大了。
如今，他们已届小学毕业，老师给贝贝出了一道强化计算的题目。
让她做一大堆除法，以确定两个数之间是否有公共的因子，并且还要数清楚没有公因子的数对。
可是，毕竟有些数太大了，量又太多了，即使她与妞妞和康康联手，也没有耐心在一个小时做完这种吃力的事情啊。
虽然他们真的知道该怎么做，可是，他们的心早就飞到海边的沙滩上了，想尽情地玩，但眼看又不能。
能不能帮他们“减负”，尽早放飞心情，那就要靠你了。

Input:
输入若干组（≤100组）整数（每个整数n满足0<n<2^32），每组整数（个数≤50）占一行。 
Output:
对每组整数，输出其彼此互质的个数，每个结果单独占一行。 
Sample Input:

27 91 18 2 5 9
13 5 60 12
Sample Output:
11
4
*/
#include <iostream>
#include <sstream>
#include <vector>

using namespace std;

unsigned gcd(unsigned a, unsigned b)
{
	if(a%b==0)return b;
	else
		return gcd(b, a%b);

}
int main(int argc, char * argv[])
{
	
	for (string nums; getline(cin, nums);)
	{
		istringstream is(nums);
		vector<unsigned> v;
		for (unsigned num; is>>num; v.push_back(num));

		int sum=0;
		for (int i=0, size=v.size(); i<size-1; ++i)
			for (int j=i+1; j<size; ++j)
				if(1==gcd(v[i], v[j]))
					sum++;
		cout<<sum<<endl;
	}

	return 0;
}